#pragma warning disable 0618
using System;
using System.Collections.Generic;
using Table.DataModel;
namespace Table.Dao
{
    public class TableDialogDao:DaoBase<TableDialog>
    {
        public override string GetFileName()
        {
            return "TableDialog.csv";
        }
        public override void BuildIndex()
        {
            if (cacheList != null)
            {
                cachePrimaryInt = new Dictionary<int, TableDialog>(cacheList.Count);
            }
            base.BuildIndex();
        }
        public override void AddPrimaryIndex(TableDialog model)
        {
            #if UNITY_EDITOR
            if(cachePrimaryInt.ContainsKey(model.dialogId)) UnityEngine.Debug.LogError("数据表id重复:TableDialog->id: " + model.dialogId);
            #endif
            cachePrimaryInt[model.dialogId] = model;
        }
        protected override TableDialog ParseRowData(string[] rowData)
        {
            TableDialog data = new TableDialog();
            if (!string.IsNullOrEmpty(rowData[0]))
            {
                data.dialogId = int.Parse(rowData[0]);
            }
            if (!string.IsNullOrEmpty(rowData[1]))
            {
                data.nextDialogId = int.Parse(rowData[1]);
            }
            if (!string.IsNullOrEmpty(rowData[2]))
            {
                data.title = string.Intern(rowData[2]);
            }
            if (!string.IsNullOrEmpty(rowData[3]))
            {
                data.content = rowData[3];
            }
            if (!string.IsNullOrEmpty(rowData[4]))
            {
                data.bg = rowData[4];
            }
            if (!string.IsNullOrEmpty(rowData[5]))
            {
                data.actorType1 = int.Parse(rowData[5]);
            }
            if (!string.IsNullOrEmpty(rowData[6]))
            {
                data.actorType2 = int.Parse(rowData[6]);
            }
            if (!string.IsNullOrEmpty(rowData[7]))
            {
                data.actorType3 = int.Parse(rowData[7]);
            }
            if (!string.IsNullOrEmpty(rowData[8]))
            {
                data.actorType4 = int.Parse(rowData[8]);
            }
            if (!string.IsNullOrEmpty(rowData[9]))
            {
                data.actorType5 = int.Parse(rowData[9]);
            }
            if (!string.IsNullOrEmpty(rowData[10]))
            {
                data.actor1 = string.Intern(rowData[10]);
            }
            if (!string.IsNullOrEmpty(rowData[11]))
            {
                data.actor2 = string.Intern(rowData[11]);
            }
            if (!string.IsNullOrEmpty(rowData[12]))
            {
                data.actor3 = string.Intern(rowData[12]);
            }
            if (!string.IsNullOrEmpty(rowData[13]))
            {
                data.actor4 = string.Intern(rowData[13]);
            }
            if (!string.IsNullOrEmpty(rowData[14]))
            {
                data.actor5 = string.Intern(rowData[14]);
            }
            if (!string.IsNullOrEmpty(rowData[15]))
            {
                data.offsetX1 = float.Parse(rowData[15]);
            }
            if (!string.IsNullOrEmpty(rowData[16]))
            {
                data.offsetY1 = float.Parse(rowData[16]);
            }
            if (!string.IsNullOrEmpty(rowData[17]))
            {
                data.offsetX2 = float.Parse(rowData[17]);
            }
            if (!string.IsNullOrEmpty(rowData[18]))
            {
                data.offsetY2 = float.Parse(rowData[18]);
            }
            if (!string.IsNullOrEmpty(rowData[19]))
            {
                data.offsetX3 = float.Parse(rowData[19]);
            }
            if (!string.IsNullOrEmpty(rowData[20]))
            {
                data.offsetY3 = float.Parse(rowData[20]);
            }
            if (!string.IsNullOrEmpty(rowData[21]))
            {
                data.offsetX4 = float.Parse(rowData[21]);
            }
            if (!string.IsNullOrEmpty(rowData[22]))
            {
                data.offsetY4 = float.Parse(rowData[22]);
            }
            if (!string.IsNullOrEmpty(rowData[23]))
            {
                data.offsetX5 = float.Parse(rowData[23]);
            }
            if (!string.IsNullOrEmpty(rowData[24]))
            {
                data.offsetY5 = float.Parse(rowData[24]);
            }
            if (!string.IsNullOrEmpty(rowData[25]))
            {
                data.angle1 = float.Parse(rowData[25]);
            }
            if (!string.IsNullOrEmpty(rowData[26]))
            {
                data.angle2 = float.Parse(rowData[26]);
            }
            if (!string.IsNullOrEmpty(rowData[27]))
            {
                data.angle3 = float.Parse(rowData[27]);
            }
            if (!string.IsNullOrEmpty(rowData[28]))
            {
                data.angle4 = float.Parse(rowData[28]);
            }
            if (!string.IsNullOrEmpty(rowData[29]))
            {
                data.angle5 = float.Parse(rowData[29]);
            }
            if (!string.IsNullOrEmpty(rowData[30]))
            {
                data.scale1 = float.Parse(rowData[30]);
            }
            if (!string.IsNullOrEmpty(rowData[31]))
            {
                data.scale2 = float.Parse(rowData[31]);
            }
            if (!string.IsNullOrEmpty(rowData[32]))
            {
                data.scale3 = float.Parse(rowData[32]);
            }
            if (!string.IsNullOrEmpty(rowData[33]))
            {
                data.scale4 = float.Parse(rowData[33]);
            }
            if (!string.IsNullOrEmpty(rowData[34]))
            {
                data.scale5 = float.Parse(rowData[34]);
            }
            if (!string.IsNullOrEmpty(rowData[35]))
            {
                data.focusActors = ParseData<int>(rowData[35]);
            }
            if (!string.IsNullOrEmpty(rowData[36]))
            {
                data.talkerActors = ParseData<int>(rowData[36]);
            }
            if (!string.IsNullOrEmpty(rowData[37]))
            {
                data.hideUI = int.Parse(rowData[37]);
            }
            if (!string.IsNullOrEmpty(rowData[38]))
            {
                data.hidePlayer = int.Parse(rowData[38]);
            }
            if (!string.IsNullOrEmpty(rowData[39]))
            {
                data.hideOtherPlayer = int.Parse(rowData[39]);
            }
            if (!string.IsNullOrEmpty(rowData[40]))
            {
                data.hideNpc = int.Parse(rowData[40]);
            }
            if (!string.IsNullOrEmpty(rowData[41]))
            {
                data.clickInterval = float.Parse(rowData[41]);
            }
            if (!string.IsNullOrEmpty(rowData[42]))
            {
                data.isSubDialog = int.Parse(rowData[42]);
            }
            if (!string.IsNullOrEmpty(rowData[43]))
            {
                data.canCancel = int.Parse(rowData[43]);
            }
            if (!string.IsNullOrEmpty(rowData[44]))
            {
                data.openEvent = rowData[44];
            }
            if (!string.IsNullOrEmpty(rowData[45]))
            {
                data.openEventArgs = rowData[45];
            }
            if (!string.IsNullOrEmpty(rowData[46]))
            {
                data.closeEvent = rowData[46];
            }
            if (!string.IsNullOrEmpty(rowData[47]))
            {
                data.closeEventArgs = rowData[47];
            }
            if (!string.IsNullOrEmpty(rowData[48]))
            {
                data.cameraArgs = string.Intern(rowData[48]);
            }
            if (!string.IsNullOrEmpty(rowData[49]))
            {
                data.actorArgs = string.Intern(rowData[49]);
            }
            if (!string.IsNullOrEmpty(rowData[50]))
            {
                data.bgm = rowData[50];
            }
            if (!string.IsNullOrEmpty(rowData[51]))
            {
                data.audio = rowData[51];
            }
            if (!string.IsNullOrEmpty(rowData[52]))
            {
                data.isBootstrap = int.Parse(rowData[52]);
            }
            if (!string.IsNullOrEmpty(rowData[53]))
            {
                data.bootstrapMode = int.Parse(rowData[53]);
            }
            if (!string.IsNullOrEmpty(rowData[54]))
            {
                data.effectArgs = rowData[54];
            }
            return data;
        }
    }
}
